namespace DesignPattern.Behavioral.State
{
    public class LightContext
    {
        private Light lightState;

        public LightContext()
        {
            lightState = new LightIsOffState();
        }

        public void SetLightState(Light light)
        {
            lightState = light;
        }

        public Light GetLightState()
        {
            return lightState;
        }

        public void TouchTheLightSwitch()
        {
            lightState.TouchLightSwitch(this);
        }
    }
}